"The Oberon System, User Guide and Programmer's Manual"
Martin Reiser
Addison-Wesley, Wokingham England, 1991, ISBN 0-201-54422-9
This is a user guide, tutorial, and reference manual for the original ETH Oberon system. This book is only relevant for someone who is using one of the implementations of the original ETH Oberon.
"Programming in Oberon, Steps beyond Pascal and Modula"
Martin Reiser, Niklaus Wirth
Addison-Wesley, Wokingham England, 1992, ISBN 0-201-56543-9
Programming in Oberon introduces the language Oberon. It provides a programming tutorial that demonstrates modern programming concepts, and a complete language reference that explains the syntax and use of Oberon.
The book is divided up into three main parts. In the first part, basic programming constructs such as scalar data types, declarations, expressions, control structures, etc. are explained. It closes with the description of procedures and modules and enables the reader to write his or her first Oberon modules. The second part introduces traditional programming; in particular it covers structured data types, dynamic data structures, and pointer types. It ends with a description of the important programming techniques of stepwise refinement, abstract data structures, and abstract data types.
The third part finally covers type extension, the most important feature differentiating Oberon from its predecessors. Together with procedure types, object-orientation is introduced. Objects with dynamically bound procedures are covered, as well as message passing and handler procedures. One chapter is devoted to the Oberon-2 extensions of the language. A larger programming example from the field of discrete event simulation completes this last part.
Programming in Oberon is both a tutorial as well as a reference manual for the language Oberon. It serves the novice programmer through its clarity and simplicity. Examples, exercises, and basic formal techniques are used to explain the various language constructs. The program examples are all available through ftp and can be executed under Oberon/F. The book also serves the professional programmer as a reference through its clear structure. An appendix contains the complete Oberon language report and an ASCII table. The latter is an oddity of every Wirth book. In conclusion, Programming in Oberon is a must for everyone interested in the Oberon language and for everyone working seriously with Oberon/F.
"Project Oberon, The Design of an Operating System and Compiler"
Niklaus Wirth, J
rg Gutknecht
Addison-Wesley, Wokingham England, 1992, ISBN 0-201-54428-8
This is a text book on the ETH Oberon system and compiler for the Ceres workstation. It explains the basic concepts underlying the original ETH Oberon system. Particularly interesting is that almost the complete commented source code of the system is given in the book, including the sources for the compiler.
This book is interesting for students of computer science, since it constitutes a case study of a modern software system of very broad scope, and unencumbered by issues dealing with compatibility to legacy systems.
"Insight ETHOS: On Object-Orientation in Operating Systems"
Clemens Szyperski
vdf, Z
rich, 1992, ISBN 3 7281 1948 2
This PhD thesis discusses various aspects of OOP in operating systems, with emphasis on dynamic extensibility and type-safety. Furthermore, the experimental operating system Ethos is described, which had been developed as a demonstration of the concepts developed for the thesis.
Ethos evolved out of the original Oberon system of ETH. It went further than that in mainly three areas: it provided extensibility at every level, instead of providing it in only a few critical spots like the window system. Secondly, it defined and followed some general design principles in order to make "design for extensibility" a more systematic process. Thirdly, it used the static expressiveness of the language Oberon-2 (i.e. modules, types, type-bound procedures, read-only export) to make design decisions explicit (and thus documented and checkable by the compiler) wherever possible. Ethos showed that strong typing and strong modularity do not prevent extensibility. On the contrary, they are very powerful tools to make the development of efficient, robust, and maintainable extensible systems more manageable.
The author is a founder of Oberon microsystems and co-designer of Oberon/F, which is largely based on the results of the Ethos project.
This book is interesting for students of computer science who are interested in the application of OOP to extensible software systems, in particular - but not limited to - operating systems.
"Object-Oriented Programming in Oberon-2"
Hanspeter M
ssenb
Springer Verlag, New York, 1993, ISBN 0-387-56411-X
Object-Oriented Programming in Oberon-2 is a textbook which ingeniously demonstrates the concepts and constructs of object-oriented programming. Particular topics of the book are classes, inheritance, dynamic binding, and generic data structures. The focus of the book are really the concepts of object-oriented programming, and not the peculiarities of some programming language. This is achieved through the choice of Oberon-2 as notation to explain the concepts. Oberon-2 is simple enough to learn and understand, and the object-oriented elements are well embedded into this language. However, the book is not an introduction to the language Oberon-2. One chapter introduces Oberon-2 as far as it is necessary for the understanding of the book. Knowledge of an imperative programming language such as Pascal or Modula-2 is required.
The book also covers some basic design patterns and discusses the object-oriented program design from several points of view. All concepts are explained with the help of suitable examples. The book also discloses how object-oriented programming should not be used, a very instructive section.
The book closes with a large and interesting example: an extensible window system, with applications like a text editor, which is extensible itself. This example demonstrates the use of object-oriented programming techniques for extensible software systems. The study of the source is very informative and instructive as well. Unfortunately, this program does not run under Oberon/F as it is taylored too much to the original ETH-Oberon systems. The book also contains an appendix with the complete Oberon-2 language report, which constitutes the standards document on the language Oberon-2.
This book is a good introduction to object-oriented programming for someone who knows Pascal or Modula, and now wants to learn the basic object-oriented programming techniques. It is easy to read and to understand and thus recommendable to everyone.
"The Oberon/F System"
Dick Pountain
Byte Magazine, Vol. 20, No. 1, January 1995, pp. 227-228
Review of Oberon/F.
Web: http://www.byte.com/art/9501/sec14/art3.htm
"Effective
Technology
Transfer"
Prof. Niklaus Wirth
Institut f
r Computersysteme, ETH Z
rich, Switzerland
The Oberon Tribune (see below), No 1, Vol 1, 1995
"Component
Software
Oberon:
Perspective
Oberon/F"
Bert Fiti
Former account manager at IBM, The Netherlands
The Oberon Tribune (see below), No 1, Vol 1, 1995
"Component-Oriented
Programming:
Refinement on Object-Oriented
Programming"
Prof. Clemens Szyperski
School of Computing Science, Queensland University of Technology, Australia
The Oberon Tribune (see below), No 2, Vol 1, 1995
Oberon/F
White
Paper"
Oberon microsystems, Inc.
The Oberon Tribune (see below), No 2, Vol 1, 1995
Periodicals:
Oberon
Tribune"
Oberon microsystems, Inc.
The Oberon Tribune, the developer newsletter of Oberon microsystems, is a platform for the exchange of technical, strategic, and business information among Oberon Developer Forum members with one another and with Oberon microsystems. For how to become member of the Oberon Developer Forum, see the
order
General literature, ordered chronologically:
"A cookbook for using the Model-View-Controller user interface paradigm in Smalltalk-80"
G. E. Krasner, S. T. Pope
Journal of Object-Oriented Programming, Vol. 1, No. 3, August 1988, pp. 26..49
This article explains the properties and rationales behind the Model-View-Controller separation. Several motivating examples and sketches of their implementation are given. This article is a classic for those interested in the roots of the MVC separation.
"The Unicode Standard"
The Unicode Consortium
Addison-Wesley, Reading, Massachusetts, 1990, ISBN 0-201-56788-1
This book (volume 1) introduces the Unicode standard, and gives the character mappings of all characters except for the East Asian (Han) ideographic characters, which are described in the second volume.
"Extensible Software Systems"
Dick Pountain, Clemens Szyperski
Byte Magazine, Vol. 19, No. 5, May 1994, pp. 57..62
This article discusses the potential of OOP for the development of extensible software systems, and the obstacles to realizing this potential. The fragile base class problem, and the difficulty of correctly using general inheritance, are explained and put into the context of the discussions between proponents of the SOM and COM object models. The differences between subtyping and subclassing, and between inheritance and delegation are illustrated.
Web: http://www.byte.com/art/9405/sec6/art1.htm
"Object-Oriented Programming Using SOM and DSOM"
Christine Lau
Van Nostrand Reinhold, New York, 1994, ISBN 0-442-01948-3
This book discusses IBM's System Object Model (SOM) and its extension for distributed objects (DSOM).
"OLE 2 Programmer's Reference, Volume 1: Working with Windows Objects"
Microsoft Press, Redmont, Washington, 1994, ISBN 1-55615-628-6
This book includes an introduction to the basics of OLE under Windows, addresses the issues of object class registration as well as details of the OLE 2 user interface. It also provides a comprehensive reference to OLE interfaces and the OLE API.
Dr. Dobb's Special Report
Special issue of Dr. Dobb's about componentware. Articles about SOM, COM, OpenDoc, etc. A good way to get an overview over this topic.
Winter 1994/95
"Inside OLE, 2nd ed."
Kraig Brockschmidt
Microsoft Press, Redmond, Washington, 1995, ISBN 1-55615-843-2
This book is not an introductory text, but a comprehensive reference for the programmer. It also describes the COM object model.
"Essential Distributed Objects Survival Guide"
Robert Orfali, Dan Harkey, Jeri Edwards
John Wiley & Sons Inc., 1996, ISBN 0471-12993-3
Discusses CORBA, OpenDoc, OLE, and much more. Recommended reading for anyone interested in component software.
"One Size Fits One. The Business Case for Component Software"
Robert P. Beech
This article illustrates why component software makes sense both for vendors and for customers. Its argumentation is built around the observation that there is a whole "requirement spectrum", which today has to be served either by inflexible standard software or by risky and expensive custom software. Component software allows to mix standard software and custom software in more appropriate ways.
Web: http://www.pharos.com/BOB_ARTICLE/Bob.html
"Essential OpenDoc"
Jesse Feiler, Anthony Meadow
Addison-Wesley Developers Press, 1996, ISBN 0-201-47958-3
Basic introduction to OpenDoc technology and to the implications of component software for developers, consultants, system integrators, and solution providers.